import Vue from 'vue'
import VueRouter from 'vue-router'
// import Home from '../views/Home.vue'
import login from '../components/login.vue'
import home from '../components/home.vue'
import Welcome from '../components/Welcome.vue'
import  users from '../components/user/users.vue'
import  rights from '../components/power/rights.vue'
import  roles from '../components/power/roles.vue'
import  cate from '../components/goods/cate.vue'
import  params from '../components/goods/params.vue'
import  list from '../components/goods/list.vue'
import  add from '../components/goods/add.vue'
import  order from '../components/goods/order.vue'
import  report from '../components/report/report.vue'

Vue.use(VueRouter)


  // {
  //   path: '/about',
  //   name: 'About',
  //   // route level code-splitting
  //   // this generates a separate chunk (about.[hash].js) for this route
  //   // which is lazy-loaded when the route is visited.
  //   component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
  // }


const router = new VueRouter({
  routes:[
  { path: '/home',component: home,
    redirect:'/welcome',
    children:[
    { path: '/welcome', component: Welcome },
    { path: '/users' ,component: users },
    { path:'/rights',component:rights},
    { path:'/roles',component:roles},
    { path: '/categories',component:cate},
    { path:'/params',component:params},
    {path:'/goods',component:list},
    { path:'/goods/add',component:add},
    { path:'/orders',component:order},
    { path:'/reports',component:report}]
  },
  { path: '/login', component: login },
  { path: '/', redirect: '/login ' },
]
})
// 挂载路由导航守卫
router.beforeEach((to,from,next)=>{
  // to 将要访问的路径
// from 代表从哪个路径而来
// next 是一个表示放行的函数
//     next() 放行    next('/login') 强制跳转
  if(to.path=='/login') return next();
  // 先获取token 
  const tokenStr=window.sessionStorage.getItem('token')
  if(!tokenStr)return next('/login')
  next()
})

export default router
